package com.niiwoo.civet.trade.report.client.report.p2p.d;

import com.niiwoo.civet.trade.report.client.report.common.DictUtil;
import com.niiwoo.civet.trade.report.client.report.common.Report;
/**
 * @version 20180906
 * www.resoft.css.com.cn
 * 深圳市P2P网贷公司J1004-项目担保信息
 * 1．需要上报前一日平台成交的所有放款成功的项目信息对应的担保信息，信用类借款无需填报本表。
 * 2．本表所有数据均以数据接口形式上报。
 * 3．本表填报单位为“元”、“%”，保留两位小数。
 * @author wanglei
 *
 */
public class J1004 extends Report {

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;

	private String J1004001;//	项目合同ID	1．项目合同ID：指单个借款项目对应的项目合同唯一编号，既表J1001中对应的合同ID。PK主键字段。
	private String J1004002;//	担保人ID	2．担保人ID：指担保人在平台上对应的唯一可识别的ID。单个借款项目有多个担保人或多种担保方式的，依次填列。PK主键字段。
	private String J1004003;//	担保方式	3．担保方式：指为单笔融资项目提供的还款保障措施，单个借款项目有多个担保人或多种担保方式的，依次填列。请按以下方式填报：1-抵押；2-质押；3-保证；4-保险。PK主键字段。	担保方式与项目信息保持一致
	private String J1004004;//	担保人性质	4．担保人性质：指担保人为自然人、法人机构，请按以下方式填报：0-自然人;1-法人机构。
	private String J1004005;//	担保人名称	5．担保人名称：担保主体是法人机构的，填写法人机构名称；担保主体是自然人的，填写个人姓名。一个项目合同有多个担保人，多种担保方式的，应逐笔填报。	若第三方担保公司发生被依法撤销、破产或发生其它导致无法履行代偿责任的情形，则担保公司将无法继续履行代偿责任。
	private String J1004006;//	担保人证件类型	6．担保人证件类型：指借款人有效身份证件类型和号码。其中，证件类型按如下规则填报：0-居民身份证及其他以公民身份证号码为标识的证件;1-港澳居民来往内地通行证;2-台湾同胞来往内地通行证;3-外国人居留证;4-统一社会信用代码。
	private String J1004007;//	担保人证件号码	7．担保人证件号码：指担保人证件类型对应的证件号码。	根据证件号码取担保人的工商信息，注册资本等。
	private String J1004008;//	担保金额	8．担保金额：指担保人最高偿付金额或抵质押物的评估价值。	计算担保公司的偿付能力。
	private String J1004009;//	质或抵押物名称	9．质或抵押物名称：需要唯一识别因借贷业务而成为质或抵押物的名称。如汽车抵押，需体现汽车品牌和牌照，车架号，发动机号。担保方式为保证或保险的，可以为空。	判断是否存在真实的抵质押品。
	private String J1004010;//	质或抵押物评估价值	10．质或抵押物评估价值：因借贷业务而成为质或抵押物的评估价值。担保方式为保证或保险的，可以为空。
	private String J1004011;//	担保人代偿本金金额	11．担保人代偿本金金额：担保人因借款人本金逾期而代偿的累计本金金额。未发生本金代偿的，填报为0.00。
	private String J1004012;//	担保人代偿利息金额	12．担保人代偿利息金额：担保人因借款人利息逾期而代偿的累计利息、罚息金额。未发生本金代偿的，填报为0.00。
	private String J1004013;//	担保人代偿日期	13．担保人代偿日期：最近一次担保人代偿日期。未发生代偿的，填报为0000-00-00。
	private String J1004014;//	担保人资金存管子账户	14．担保人资金存管子账户：指存管银行为担保人在资金存管银行网络借贷资金存管专用账户下开立的子账户。

	public String getJ1004001() {
		return J1004001;
	}
	/**
	 * 项目合同ID	1．项目合同ID：指单个借款项目对应的项目合同唯一编号，既表J1001中对应的合同ID。PK主键字段。
	 * @param j1004001
	 */
	public void setJ1004001(String j1004001) {
		J1004001 = j1004001;
	}
	public String getJ1004002() {
		return J1004002;
	}
	/**
	 * 担保人ID	2．担保人ID：指担保人在平台上对应的唯一可识别的ID。单个借款项目有多个担保人或多种担保方式的，依次填列。PK主键字段。
	 * @param j1004002
	 */
	public void setJ1004002(String j1004002) {
		J1004002 = j1004002;
	}
	public String getJ1004003() {
		return J1004003;
	}
	/**
	 * 担保方式	3．担保方式：指为单笔融资项目提供的还款保障措施，单个借款项目有多个担保人或多种担保方式的，依次填列。请按以下方式填报：1-抵押；2-质押；3-保证；4-保险。PK主键字段。	担保方式与项目信息保持一致
	 * @param j1004003
	 */
	public void setJ1004003(String j1004003) {
		J1004003 = j1004003;
	}
	public String getJ1004004() {
		return J1004004;
	}
	/**
	 * 担保人性质	4．担保人性质：指担保人为自然人、法人机构，请按以下方式填报：0-自然人;1-法人机构。
	 * @param j1004004
	 */
	public void setJ1004004(String j1004004) {
		J1004004 = j1004004;
	}
	public String getJ1004005() {
		return J1004005;
	}
	/**
	 * 担保人名称	5．担保人名称：担保主体是法人机构的，填写法人机构名称；担保主体是自然人的，填写个人姓名。一个项目合同有多个担保人，多种担保方式的，应逐笔填报。	若第三方担保公司发生被依法撤销、破产或发生其它导致无法履行代偿责任的情形，则担保公司将无法继续履行代偿责任。
	 * @param j1004005
	 */
	public void setJ1004005(String j1004005) {
		J1004005 = j1004005;
	}
	public String getJ1004006() {
		return J1004006;
	}
	/**
	 * 担保人证件类型	6．担保人证件类型：指借款人有效身份证件类型和号码。其中，证件类型按如下规则填报：0-居民身份证及其他以公民身份证号码为标识的证件;1-港澳居民来往内地通行证;2-台湾同胞来往内地通行证;3-外国人居留证;4-统一社会信用代码。
	 * @param j1004006
	 */
	public void setJ1004006(String j1004006) {
		J1004006 = j1004006;
	}
	public String getJ1004007() {
		return J1004007;
	}
	/**
	 * 担保人证件号码	7．担保人证件号码：指担保人证件类型对应的证件号码。	根据证件号码取担保人的工商信息，注册资本等。
	 * @param j1004007
	 */
	public void setJ1004007(String j1004007) {
		J1004007 = j1004007;
	}
	public String getJ1004008() {
		return J1004008;
	}
	/**
	 * 担保金额	8．担保金额：指担保人最高偿付金额或抵质押物的评估价值。	计算担保公司的偿付能力。
	 * @param j1004008
	 */
	public void setJ1004008(String j1004008) {
		J1004008 = j1004008;
	}
	public String getJ1004009() {
		return J1004009;
	}
	/**
	 *  质或抵押物名称	9．质或抵押物名称：需要唯一识别因借贷业务而成为质或抵押物的名称。如汽车抵押，需体现汽车品牌和牌照，车架号，发动机号。担保方式为保证或保险的，可以为空。	判断是否存在真实的抵质押品。
	 * @param j1004009
	 */
	public void setJ1004009(String j1004009) {
		J1004009 = j1004009;
	}
	public String getJ1004010() {
		return J1004010;
	}
	/**
	 * 质或抵押物评估价值	10．质或抵押物评估价值：因借贷业务而成为质或抵押物的评估价值。担保方式为保证或保险的，可以为空。
	 * @param j1004010
	 */
	public void setJ1004010(String j1004010) {
		J1004010 = j1004010;
	}
	public String getJ1004011() {
		return J1004011;
	}
	/**
	 * 担保人代偿本金金额	11．担保人代偿本金金额：担保人因借款人本金逾期而代偿的累计本金金额。未发生本金代偿的，填报为0.00。
	 * @param j1004011
	 */
	public void setJ1004011(String j1004011) {
		J1004011 = j1004011;
	}
	public String getJ1004012() {
		return J1004012;
	}
	/**
	 * 担保人代偿利息金额	12．担保人代偿利息金额：担保人因借款人利息逾期而代偿的累计利息、罚息金额。未发生本金代偿的，填报为0.00。
	 * @param j1004012
	 */
	public void setJ1004012(String j1004012) {
		J1004012 = j1004012;
	}
	public String getJ1004013() {
		return J1004013;
	}
	/**
	 * 担保人代偿日期	13．担保人代偿日期：最近一次担保人代偿日期。未发生代偿的，填报为0000-00-00。
	 * @param j1004013
	 */
	public void setJ1004013(String j1004013) {
		J1004013 = j1004013;
	}
	public String getJ1004014() {
		return J1004014;
	}
	/**
	 * 担保人资金存管子账户	14．担保人资金存管子账户：指存管银行为担保人在资金存管银行网络借贷资金存管专用账户下开立的子账户。
	 * @param j1004014
	 */
	public void setJ1004014(String j1004014) {
		J1004014 = j1004014;
	}

	/**
	 * 返回标准
	 */
	public String toString(){
		StringBuffer buf = new StringBuffer();
		buf.append(DictUtil.getData(this.J1004001)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004002)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004003)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004004)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004005)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004006)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004007)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004008)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004009)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004010)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004011)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004012)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004013)).append(DictUtil.DATA_SOH);
		buf.append(DictUtil.getData(this.J1004014)).append(DictUtil.DATA_LF);
		return buf.toString();
	}

	public static void main(String[] args){
		J1002 aa = new J1002();
		aa.setJ1002001("j1001001");
		aa.setJ1002002("j1001002");
		J1002 aa2 = new J1002();
		aa2.setJ1002001("j1001002");
		aa2.setJ1002002("j1001002");
		System.out.print(aa.toString());
		System.out.print(aa2.toString());
	}
}
